package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.dto.NursingLevelDto;
import com.zzyl.entity.NursingLevel;
import com.zzyl.vo.NursingLevelVo;

/**
 * 护理等级Service
 */
public interface NursingLevelService {

    /**
     * 查询所有护理等级
     * @return 护理等级集合
     */
    NursingLevel[] listAll();

    /**
     * 新增护理等级
     * @param nursingLevelDto 护理等级Dto
     */
    void addNursingLevel(NursingLevelDto nursingLevelDto);

    /**
     * 条件分页查询
     * @param name 护理等级名称
     * @param pageNum 当前页码
     * @param pageSize 当前页码
     * @param status 状态
     * @return 护理等级集合
     */
    PageResponse<NursingLevel> list(String name, Integer pageNum, Integer pageSize, Integer status);

    /**
     * 根据id查询护理等级
     * @param id id
     * @return 护理等级Vo
     */
    NursingLevelVo findById(Long id);

    /**
     * 修改护理等级
     * @param nursingLevelDto 护理等级Dto
     */
    void update(NursingLevelDto nursingLevelDto);

    /**
     * 删除
     * @param id id
     */
    void delete(Long id);

    /**
     * 启用或禁用
     * @param id id
     * @param status 状态
     */
    void updateStatus(Long id, Integer status);
}
